Web Services
The promise of the Internet is an open e-business platform where companies can do business spontaneously with anyone, anywhere, and anytime without requiring that companies abandon their existing software applications and infrastructures. Increasingly companies rely on the Internet to obtain loosely coupled Web services. Web services are typically deployed by Web service providers on application-based servers, which are computers on networks that mange the networks.
Web services are business-enterprise computer applications that can be utilized singly or collectively to accomplish a wide range of intended purposes, such as determining health-care patients' eligibility for benefits, submitting health-care claims, and providing stock quotes. Web services help companies dramatically cut costs, increase revenues, and improve competitive agility by combining existing, heterogeneous systems into cross-functional, multi-company applications. For example, Web services designed for insurance companies help them rapidly automate their business processes, eliminating paper and manual touches and saving them tens of millions of dollars annually. To supply such valuable and widely needed services, Web services providers may offer multiple Web services to client businesses.
Because Web services can operate independently of a particular computer language, platform, or location, a client business and a Web service may each use different computer languages, platforms, and locations in widely distributed systems over one or more networks.
Open Web Service Standards
Open Web service standards have been developed for compatibility among Web service applications. These standards typically apply at the wire protocol level, where protocols are defined to establish physical links among Web services. For example, a standard called SOAP (Simple Object Access Protocol) has been developed to define the format of messages exchanged among applications. The content of messages, such as a request for an action to be performed by a Web service, is currently described in WSDL (Web Services Description Language), which is an XML (Extensible Markup Language)-formatted language and which serves as a Web service's interface. Web services are cataloged in a Web-based directory and infrastructure called UDDI (Universal Description, Discover and Integration), which is an Internet registry where businesses list themselves according to their services. Communications between a client business and a Web service further rely on the use of a shared transport protocol, such as HTTP (Hypertext Transport Protocol), which enables communications over the Internet.
Typically a client business employs a client application to communicate from its Web site over the Internet according to the standards given above, to obtain the Web services offered by a Web service provider from its server-based Web site. The Web service provider uses the same standards to reply to a client. Other known or not-yet-known Web service protocols and standards may be used for this communications.
The Web service end point is the physical location of the Web service on a server and implements the Web service interface.
Web Service Applications
Web service applications are computer applications that use Web services singly or collectively to accomplish intended purposes. To work with a specific Web services application, a Web service needs accept business documents, process them, and pass them on in ways compatible with the Web service application.
A Web service application typically consists of one or more Web services, a document that describes how those Web services are to be used, portal Web pages, and UDDI entries.
Business Services
A business service is an aggregation of industry business components and third party business services that provides business functions and processes to a subscriber, which may be a human or a machine. Business services may include Web services and applications.
Example of Business Services
FIG. 1 shows an example of how a business service may comprise multiple services as part of an application for the filing and payment of medical insurance claims. Chained services are loosely connected services that may reside on different servers and that may be provided by separate businesses. A service provider employs a server 100 running a portal Web page 200 and an application 300.
A portal Web page 200 is a Web site interface that a person can reach over the Internet. Web site interfaces are computer-programmed modules that allow end-users to select variables and parameters from easy-to-use visual displays or to type in this input, save the information through selecting a save option, and have their selections automatically applied by computer subsequently, without those users having to program the information manually.
In this example, an attendant at a clinic computer 150 can use the Internet, through a wired link 144, a telephone network 130, and another wired link 142, to reach the portal Web page 200 on the service provider server 100. The attendant can then use the portal Web page 200 to fill out a claim file form 220 for one of the clinic's patients and submit it to service application 1 300.
Other means for submitting claims also exist. For example, an attendant at a clinic computer 150 might use link 144, network 130, and link 142 for a machine-to-machine transmission of a claim file directly to application 1 300. Many kinds of wired and unwired links and networks could be used for this machine-to-machine transmission, such as the Internet, a private LAN (Local Area Network), a wireless network, a TCP/IP (Transmission Control Protocol/Internet Protocol) network, or other communications system.
To continue with the example, application 1 300 receives each claim file through service 1 410, which relays the data back over link 142, network 139, and link 143 to server 2 182. If necessary, service 2 420 transforms the format of the claim file to a format that application 1 300 can use for its full operations. For example, a claim file might have been sent in NSF (National Standard Format) format, but application 1 300 might require HIPAA (Health Insurance Portability and Accountability Act) format.
After the claim file is transformed to the correct message format, service 2 420 relays the data back over link 143, network 139, and link 145 to service 3 430, which is used to validate the claim file. In turn, service 3 430 relays the data back over link 145, network 139, and link 147 to service 4 440, which is used to send the claim file back over link 147, network 130, and link 148 to an insurance company server 170 for payment to the clinic.
For application 1 300 to carry out its operations successfully, the chained services 410, 420, 430, and 440 must be compatible and functional. However, when services 410, 420, 430, and 440 are on the servers of different service providers, they may not have been set up with compatible communication dimensions, which can make interoperability among them impossible. Moreover, if one service is dysfunctional, the chain may be broken and the operations blocked.
Problems with Coupling Virtualized Resources
Virtualized resources, such as Web services, Web-service applications, and business services, are becoming the basis for electronic commerce of all forms.
To employ virtualized resources comprising multiple elements, such as different business services, programmers need to integrate them efficiently. Before the Internet, users who were partners of an enterprise had to establish one-to-one communications with that enterprise, which entailed a large amount of preparatory work. For example, the two business entities had to establish their prices, contracts, and connections for transmitting information each time. With the Internet, some of the basic work for establishing such connections is done through browsers.
However, much preparatory work must still be done to fully bring the partners of an enterprise into a business ecosystem. A business ecosystem comprises a network of business relationships in a specific business area, such as a system using multiple services for the electronic filing of insurance claims for patients' treatments, as shown in FIG. 1.
For example, to file a patient's insurance claim, an operator at clinic computer 150, shown in FIG. 1, might have to complete the following steps:                1. Opening a Web browser;        2. Going to the correct URL for filing the claim;        3. Opening the correct form for filing the claim; and        4. Typing in, or copying and pasting in, the required information about the claim, such as the user's name, address, and insurance company policy number, and the type, location, and date of the treatment,        
The system of services for filing the claim also typically requires time-consuming work by employees to operate efficiently, for example in the following areas:                Authorization for filing the claim;        Setting up client or patient accounts and profiles;        Personalizing communications with clients, for example so that messages sent to a client are in the client's preferred format; and        Monitoring the performance of the system.        
The increasing reliance of businesses on such ecosystems of services has dramatically increased the demand on those ecosystems. To meet this demand, businesses have typically developed many different software methodologies for specific and independent business services and have not addressed loosely coupled, multi-organizational interoperability among business services. As a result, businesses have often been forced to hire more and more employees to develop and implement these methodologies, but this solution is labor intensive and expensive.
Therefore there is a need for a method that provides a logical and more effective process for assembling, maintaining, and tightly controlling loosely connected business services that is repeatable, reliable, and trainable (scalable).